1. Field of the Invention
The present invention relates to data processing systems, and more particularly to a data processing system, method, and computer program product for managing a virtual storage system.
2. Background of the Invention
Conventional data storage systems include one or more storage devices. As used herein, the term “storage device” refers to any device, drive, or apparatus that is used for the storage of data, e.g., a tape drive or a disk drive.
A logical volume manager can be used to manage storage systems containing multiple storage devices. The logical volume manager configures a pool of tape drives into logical volumes so that applications and users interface with logical volumes instead of directly accessing physical tape drives. One advantage of using a logical volume manager is that a logical volume may span multiple physical drives, but is accessed transparently as if it were a single tape drive.
Existing storage and retrieval solutions currently transmit data from the host directly to the storage device. Thus, the host is responsible for preparing the data in a particular format for storage. For example, some systems use a data mirroring storage scheme such that mirrored copies of data are stored in order to improve the reliability of the system. When data is mirrored, the host must transmit multiple requests to store the data. The host duplicates the data and transmits a request to each device that will be used to store a copy of the data. When this data is retrieved, the host must perform the error handling in order to recover an accurate copy of the mirrored data.
Another storage scheme commonly used for storing data is data striping. The host is responsible for segmenting the data into stripes, and transmitting each stripe to the device that will be used to store the stripe. Each device then receives only its stripe of data. When this data is retrieved, the host is responsible for reading each stripe from each device, and then combining the stripes to reproduce the original data.
Executing these storage schemes requires a large amount of host processing time. This slows the overall performance of the storage system.
Therefore, a need exists for a method, system, and product for efficiently managing a storage system.